package cn.mw.cmdb.controller;

import cn.mw.cmdb.entity.cloudWisdom.*;
import cn.mw.cmdb.service.CloudWisdomReportService;
import cn.mw.components.mongodb.entity.SearchParam;
import cn.mw.microMonitorCommon.api.common.BaseApiService;
import cn.mw.microMonitorCommon.api.common.ResponseBase;
import com.alibaba.fastjson2.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@RequestMapping("/cloudWisdom")
@RestController
@Tag(name = "云智慧上报")
@Slf4j
public class CloudWisdomReportController extends BaseApiService {

    @Autowired
    private CloudWisdomReportService cloudWisdomReportService;


    @PostMapping("addOrUpdateCloudWisdomReportRule")
    @ApiOperation(value = "新增或修改上报规则")
    public ResponseBase<Boolean> addOrUpdateCloudWisdomReportRule(@RequestBody CloudWisdomReportRuleInfo cloudWisdomReportRuleInfo) throws Exception {
        return setResultSuccess(cloudWisdomReportService.addOrUpdateCloudWisdomReportRule(cloudWisdomReportRuleInfo));
    }

    @PostMapping("batchDeleteCloudWisdomReportRules")
    @ApiOperation(value = "批量删除上报规则")
    public ResponseBase<Boolean> batchDeleteCloudWisdomReportRules(@RequestBody List<String> ids) throws Exception {
        return setResultSuccess(cloudWisdomReportService.batchDeleteCloudWisdomReportRules(ids));
    }

    @PostMapping("getCloudWisdomReportRuleByPage")
    @ApiOperation(value = "分页查询上报规则")
    public ResponseBase<IPage<CloudWisdomReportRuleInfo>> getCloudWisdomReportRuleByPage(@RequestBody SearchParam param) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getCloudWisdomReportRuleByPage(param));
    }

    @PostMapping("getCloudWisdomReportHistoryInfoByPage")
    @ApiOperation(value = "分页查询上报历史记录")
    public ResponseBase<IPage<CloudWisdomReportHistoryInfo>> getCloudWisdomReportHistoryInfoByPage(@RequestBody SearchParam param) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getCloudWisdomReportHistoryInfoByPage(param));
    }

    @PostMapping("getCloudWisdomInstanceReportDetailByPage")
    @ApiOperation(value = "分页查询上报详情")
    public ResponseBase<IPage<CloudWisdomInstanceReportHistoryInfo>> getCloudWisdomInstanceReportDetailByPage(@RequestBody SearchParam param) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getCloudWisdomInstanceReportDetailByPage(param));
    }

    @PostMapping("getCloudWisdomReportHistoryStatusCount")
    @ApiOperation(value = "上报历史按状态统计")
    public ResponseBase<Map<String, Integer>> getCloudWisdomReportHistoryStatusCount(@RequestBody SearchParam param) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getCloudWisdomReportHistoryStatusCount(param));
    }

    @PostMapping("batchDeleteCloudWisdomReportHistory")
    @ApiOperation(value = "批量删除上报历史")
    public ResponseBase<Boolean> batchDeleteCloudWisdomReportHistory(@RequestBody List<String> ids) throws Exception {
        return setResultSuccess(cloudWisdomReportService.batchDeleteCloudWisdomReportHistory(ids));
    }

    @PostMapping("getCloudWisdomModelInfoByPage")
    @ApiOperation(value = "云智慧模型列表获取")
    public ResponseBase<CloudWisdomModelPageVo> getModelPage(Integer channelId, @RequestBody SearchParam param) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getCloudWisdomModelInfoByPage(channelId, param));
    }

    @GetMapping("getModelPropertiesListByModelId")
    @ApiOperation(value = "云智慧模型属性获取")
    public ResponseBase<List<CloudWisdomModelPropertyVo>> getModelPropertiesListByModelId(Integer channelId, String modelId) throws Exception {
        return setResultSuccess(cloudWisdomReportService.getModelPropertiesListByModelId(channelId, modelId));
    }

    @PostMapping("doCloudWisdomReport")
    @ApiOperation(value = "规则上报")
    public ResponseBase<CloudWisdomReportResultVo> doCloudWisdomReport(@RequestBody List<String> ruleIds) throws Exception {
        return setResultSuccess(cloudWisdomReportService.doReport(ruleIds));
    }

    // Todo 模拟接口 联调通过后需要删除
    @PostMapping("/api/v1/open/ci/create")
    @ApiOperation(value = "模拟云智慧模型列表获取")
    public CloudWisdomServiceResponse reportAddMock(@RequestBody CloudWisdomReportParam cloudWisdomReportParam) throws Exception {
        CloudWisdomServiceResponse<String> response = new CloudWisdomServiceResponse<>();
        response.setCode(0);
        response.setData("1234567890");
        response.setMessage("成功");
        return response;
    }

    // Todo 模拟接口 联调通过后需要删除
    @PostMapping("/api/v1/open/ci/modify/{ciId}")
    @ApiOperation(value = "模拟云智慧模型列表获取")
    public CloudWisdomServiceResponse reportUpdateMock(@PathVariable("ciId") String ciId, @RequestBody CloudWisdomReportParam cloudWisdomReportParam) throws Exception {
        CloudWisdomServiceResponse<String> response = new CloudWisdomServiceResponse<>();
        response.setCode(0);
        response.setData("1234567890");
        response.setMessage("成功");
        return response;
    }

    // Todo 模拟接口 联调通过后需要删除
    @PostMapping("/api/v1/open/model/list")
    @ApiOperation(value = "模拟云智慧模型列表获取")
    public CloudWisdomServiceResponse getModelPageMock(@RequestBody CloudWisdomModelQueryParam param) throws Exception {
        CloudWisdomModelPageVo cloudWisdomModelPageVo = new CloudWisdomModelPageVo();
        cloudWisdomModelPageVo.setPageNum(param.getPageMeta().getPageNum());
        cloudWisdomModelPageVo.setPageSize(param.getPageMeta().getPageSize());
        cloudWisdomModelPageVo.setTotalPages(2);
        cloudWisdomModelPageVo.setTotal(param.getPageMeta().getPageSize() * cloudWisdomModelPageVo.getTotalPages());
        List<CloudWisdomModelVo> records = new ArrayList<>();
        for (int i = 0; i < param.getPageMeta().getPageSize(); i++) {
            CloudWisdomModelVo cloudWisdomModelVo = new CloudWisdomModelVo();
            cloudWisdomModelVo.setModelId("modelId" + ((i + 1) + param.getPageMeta().getPageSize() * (param.getPageMeta().getPageNum() - 1)));
            cloudWisdomModelVo.setModelName("模型名称测试" + ((i + 1) + param.getPageMeta().getPageSize() * (param.getPageMeta().getPageNum() - 1)));
            records.add(cloudWisdomModelVo);
        }
        cloudWisdomModelPageVo.setRecords(records);
        CloudWisdomServiceResponse<CloudWisdomModelPageVo> serviceResponse = new CloudWisdomServiceResponse<CloudWisdomModelPageVo>();
        serviceResponse.setData(cloudWisdomModelPageVo);
        return serviceResponse;
    }

    // Todo 模拟接口 联调通过后需要删除
    @GetMapping("/api/v1/open/model/get/{modelId}")
    @ApiOperation(value = "模拟云智慧模型属性获取")
    public CloudWisdomServiceResponse<CloudWisdomModelPropertyResponseVo> getModelPropertiesMock(@PathVariable("modelId") String modelId) throws Exception {
        CloudWisdomServiceResponse<CloudWisdomModelPropertyResponseVo> response = new CloudWisdomServiceResponse<>();
        CloudWisdomModelPropertyResponseVo cloudWisdomModelPropertyResponseVo = new CloudWisdomModelPropertyResponseVo();
        cloudWisdomModelPropertyResponseVo.setModelId(modelId);
        cloudWisdomModelPropertyResponseVo.setModelName("模型名测试");
        List<CloudWisdomModelPropertyVo> content = new ArrayList<>();
        CloudWisdomModelPropertyVo propertyGroup = new CloudWisdomModelPropertyVo();
        List<CloudWisdomModelPropertyVo> propertyVoList = new ArrayList<>();

        CloudWisdomModelPropertyVo ciName = new CloudWisdomModelPropertyVo();

        propertyGroup.setProperties(propertyVoList);
        content.add(propertyGroup);
        cloudWisdomModelPropertyResponseVo.setContent(content);
        response.setCode(0);
        response.setData(cloudWisdomModelPropertyResponseVo);
        response.setMessage("请求成功");
        return JSON.parseObject("{\n" +
                "    \"code\": 0,\n" +
                "    \"message\": \"请求成功\",\n" +
                "    \"data\": {\n" +
                "        \"id\": 338186150200065,\n" +
                "        \"modelId\": \"ot1\",\n" +
                "        \"modelName\": \"ot1\",\n" +
                "        \"iconPath\": \"icon-1\",\n" +
                "        \"groupId\": \"cxmtdev\",\n" +
                "        \"groupAllName\": \"0长鑫数据升级环境\",\n" +
                "        \"groupAllId\": \"cxmtdev\",\n" +
                "        \"useTemplateId\": [],\n" +
                "        \"assetType\": [],\n" +
                "        \"containsAsset\": false,\n" +
                "        \"version\": 3,\n" +
                "        \"content\": [\n" +
                "            {\n" +
                "                \"attrID\": \"BasicInfo\",\n" +
                "                \"attrName\": \"基本信息\",\n" +
                "                \"componentType\": \"ATTRIBUTE_GROUP\",\n" +
                "                \"componentName\": \"属性分组\",\n" +
                "                \"explain\": \"\",\n" +
                "                \"attrInfo\": {\n" +
                "                    \"fieldWidth\": \"WHOLE_LINE\",\n" +
                "                    \"optionType\": [],\n" +
                "                    \"checkType\": []\n" +
                "                },\n" +
                "                \"index\": 0,\n" +
                "                \"properties\": [\n" +
                "                    {\n" +
                "                        \"attrID\": \"ciName\",\n" +
                "                        \"attrName\": \"名称\",\n" +
                "                        \"attrGroupId\": \"BasicInfo\",\n" +
                "                        \"componentType\": \"INPUT\",\n" +
                "                        \"componentName\": \"单行文本\",\n" +
                "                        \"explain\": \"\",\n" +
                "                        \"attrInfo\": {\n" +
                "                            \"defaultValue\": \"\",\n" +
                "                            \"placeholder\": \"\",\n" +
                "                            \"fieldWidth\": \"HALF_LINE\",\n" +
                "                            \"optionType\": [],\n" +
                "                            \"checkType\": [\n" +
                "                                \"required\"\n" +
                "                            ],\n" +
                "                            \"range\": [\n" +
                "                                0,\n" +
                "                                10000\n" +
                "                            ]\n" +
                "                        },\n" +
                "                        \"index\": 0,\n" +
                "                        \"properties\": []\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"attrID\": \"INPUT_a9928\",\n" +
                "                        \"attrName\": \"单行文本\",\n" +
                "                        \"attrGroupId\": \"BasicInfo\",\n" +
                "                        \"componentType\": \"INPUT\",\n" +
                "                        \"componentName\": \"单行文本\",\n" +
                "                        \"explain\": \"\",\n" +
                "                        \"attrInfo\": {\n" +
                "                            \"defaultValue\": \"\",\n" +
                "                            \"placeholder\": \"\",\n" +
                "                            \"fieldWidth\": \"HALF_LINE\",\n" +
                "                            \"optionType\": [],\n" +
                "                            \"checkType\": [],\n" +
                "                            \"conditionContent\": {},\n" +
                "                            \"validateRuleId\": \"\",\n" +
                "                            \"validateRule\": \"\",\n" +
                "                            \"range\": []\n" +
                "                        },\n" +
                "                        \"index\": 1,\n" +
                "                        \"properties\": []\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"attrID\": \"SELECT_fc8a0\",\n" +
                "                        \"attrName\": \"下拉选择\",\n" +
                "                        \"attrGroupId\": \"BasicInfo\",\n" +
                "                        \"componentType\": \"SELECT\",\n" +
                "                        \"componentName\": \"下拉选择\",\n" +
                "                        \"explain\": \"\",\n" +
                "                        \"attrInfo\": {\n" +
                "                            \"defaultValue\": \"\",\n" +
                "                            \"placeholder\": \"\",\n" +
                "                            \"fieldWidth\": \"HALF_LINE\",\n" +
                "                            \"optionType\": [],\n" +
                "                            \"checkType\": [],\n" +
                "                            \"conditionContent\": {},\n" +
                "                            \"range\": [],\n" +
                "                            \"dictionaryName\": \"操作系统名称\",\n" +
                "                            \"dictionaryId\": \"systemName\",\n" +
                "                            \"enumList\": [\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"Windows\",\n" +
                "                                    \"itemName\": \"Windows\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"Talos\",\n" +
                "                                    \"itemName\": \"Talos\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"Redhat\",\n" +
                "                                    \"itemName\": \"Redhat\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"CentOS\",\n" +
                "                                    \"itemName\": \"CentOS\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"SUSE\",\n" +
                "                                    \"itemName\": \"SUSE\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"customos\",\n" +
                "                                    \"itemName\": \"自定义系统\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"AIX\",\n" +
                "                                    \"itemName\": \"AIX\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"ubuntu\",\n" +
                "                                    \"itemName\": \"Ubuntu\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"ESXi\",\n" +
                "                                    \"itemName\": \"ESXi\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"custom\",\n" +
                "                                    \"itemName\": \"custom\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"OracleSolaris\",\n" +
                "                                    \"itemName\": \"OracleSolaris\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"HMC\",\n" +
                "                                    \"itemName\": \"HMC\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"VIOS\",\n" +
                "                                    \"itemName\": \"VIOS\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                },\n" +
                "                                {\n" +
                "                                    \"dictId\": \"systemName\",\n" +
                "                                    \"level\": 1,\n" +
                "                                    \"itemCode\": \"Others\",\n" +
                "                                    \"itemName\": \"Others\",\n" +
                "                                    \"itemColour\": null,\n" +
                "                                    \"children\": null\n" +
                "                                }\n" +
                "                            ]\n" +
                "                        },\n" +
                "                        \"index\": 2,\n" +
                "                        \"properties\": []\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"attrID\": \"NUM_1\",\n" +
                "                        \"attrName\": \"数字\",\n" +
                "                        \"attrGroupId\": \"BasicInfo\",\n" +
                "                        \"componentType\": \"NUMBER\",\n" +
                "                        \"componentName\": \"数字\",\n" +
                "                        \"explain\": \"\",\n" +
                "                        \"attrInfo\": {\n" +
                "                            \"defaultValue\": \"\",\n" +
                "                            \"placeholder\": \"\",\n" +
                "                            \"fieldWidth\": \"HALF_LINE\",\n" +
                "                            \"optionType\": [],\n" +
                "                            \"checkType\": [],\n" +
                "                            \"conditionContent\": {},\n" +
                "                            \"range\": [],\n" +
                "                            \"unit\": \"\"\n" +
                "                        },\n" +
                "                        \"index\": 3,\n" +
                "                        \"properties\": []\n" +
                "                    }\n" +
                "                ]\n" +
                "            }\n" +
                "        ],\n" +
                "        \"uniFieldsGroups\": [\n" +
                "            {\n" +
                "                \"fields\": [\n" +
                "                    \"ciName\"\n" +
                "                ],\n" +
                "                \"canBeEmpty\": false,\n" +
                "                \"supportImport\": true\n" +
                "            }\n" +
                "        ],\n" +
                "        \"searchCapability\": [\n" +
                "            {\n" +
                "                \"componentType\": \"QUOTE\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"CHECKBOX\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"NUMBER\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GT\",\n" +
                "                        \"operator\": \"GT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LT\",\n" +
                "                        \"operator\": \"LT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GTE\",\n" +
                "                        \"operator\": \"GTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LTE\",\n" +
                "                        \"operator\": \"LTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"INPUT\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"LIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTLIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"TEXTAREA\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"LIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTLIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"USER_GROUP\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"AUTO_NUM\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GT\",\n" +
                "                        \"operator\": \"GT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LT\",\n" +
                "                        \"operator\": \"LT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GTE\",\n" +
                "                        \"operator\": \"GTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LTE\",\n" +
                "                        \"operator\": \"LTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"USER\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"LONG|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"SELECT\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"DATE\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GT\",\n" +
                "                        \"operator\": \"GT\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LT\",\n" +
                "                        \"operator\": \"LT\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GTE\",\n" +
                "                        \"operator\": \"GTE\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LTE\",\n" +
                "                        \"operator\": \"LTE\",\n" +
                "                        \"expectBasicValueType\": \"LONG\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"UID\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"LIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTLIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"AUTO_CALCULATE\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GT\",\n" +
                "                        \"operator\": \"GT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LT\",\n" +
                "                        \"operator\": \"LT\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"GTE\",\n" +
                "                        \"operator\": \"GTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"LTE\",\n" +
                "                        \"operator\": \"LTE\",\n" +
                "                        \"expectBasicValueType\": \"NUMBER\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"IMAGE\",\n" +
                "                \"criteriaList\": null,\n" +
                "                \"sortable\": false,\n" +
                "                \"searchable\": false\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"RADIO\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"SWITCH\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"BOOLEAN\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"BOOLEAN\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"BOOLEAN\"\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"FILE\",\n" +
                "                \"criteriaList\": null,\n" +
                "                \"sortable\": false,\n" +
                "                \"searchable\": false\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"INPUT\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"LIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTLIKE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"E\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Equals\",\n" +
                "                        \"operator\": \"IE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Equals\",\n" +
                "                        \"operator\": \"NE\",\n" +
                "                        \"expectBasicValueType\": \"STRING\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Empty\",\n" +
                "                        \"operator\": \"NULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Empty\",\n" +
                "                        \"operator\": \"NOTNULL\",\n" +
                "                        \"expectBasicValueType\": null\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"STRING|LIST\"\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": true,\n" +
                "                \"searchable\": true\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"NUMBER_RANGE\",\n" +
                "                \"criteriaList\": null,\n" +
                "                \"sortable\": false,\n" +
                "                \"searchable\": false\n" +
                "            },\n" +
                "            {\n" +
                "                \"componentType\": \"TABLE\",\n" +
                "                \"criteriaList\": [\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Contains\",\n" +
                "                        \"operator\": \"IN\",\n" +
                "                        \"expectBasicValueType\": \"LIST\"\n" +
                "                    },\n" +
                "                    {\n" +
                "                        \"operatorAlias\": \"Not Contains\",\n" +
                "                        \"operator\": \"NOTIN\",\n" +
                "                        \"expectBasicValueType\": \"LIST\"\n" +
                "                    }\n" +
                "                ],\n" +
                "                \"sortable\": false,\n" +
                "                \"searchable\": false\n" +
                "            }\n" +
                "        ]\n" +
                "    }\n" +
                "}",CloudWisdomServiceResponse.class);
    }
}
